unsigned char *rom;
int i;
+ /* Nothing to do if not running in dom0. */
+ if ( !(xen_start_info.flags & SIF_INITDOMAIN) )
+ return;
+
/* video rom */
upper = adapter_rom_resources[0].start;
for (start = video_rom_resource.start; start < upper; start += 2048) {
else
legacy_init_iomem_resources(&code_resource, &data_resource);
- /* EFI systems may still have VGA */
- request_resource(&iomem_resource, &video_ram_resource);
+ if ( xen_start_info.flags & SIF_INITDOMAIN )
+ /* EFI systems may still have VGA */
+ request_resource(&iomem_resource, &video_ram_resource);
/* request I/O space for devices used on all i[345]86 PCs */
for (i = 0; i < STANDARD_IO_RESOURCES; i++)
who = "Xen";
- start_pfn = 0;
+ /* In dom0, we have to start the fake e820 map above the first 1MB, in
+ * other domains, it can start at 0. */
+ if ( xen_start_info.flags & SIF_INITDOMAIN )
+ start_pfn = 0x100;
+ else
+ start_pfn = 0;
max_pfn = xen_start_info.nr_pages;
e820.nr_map = 0;